package com.vhall.component.entity.room.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author jingwen.li
 * @date 2022/2/15
 */
@Data
@TableName("push_stream")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "PushStreamEntity对象", description = "转推流表")
public class PushStreamEntity implements Serializable {


    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "房间id")
    @TableField("room_id")
    private String roomId;

    @ApiModelProperty(value = "社媒名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "rtmps")
    @TableField("rtmps")
    private String rtmps;

    @ApiModelProperty(value = "key")
    @TableField("skey")
    private String skey;

    @ApiModelProperty(value = "类型| 0国内 1海外")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "状态| 0未开始 1推流中 2推流结束")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "定时推流时间")
    @TableField("cron_push_time")
    private LocalDateTime cronPushTime;

    @ApiModelProperty(value = "推流开始时间")
    @TableField("start_time")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "推流结束时间")
    @TableField("end_time")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "创建时间")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "删除时间")
    @TableField("deleted_at")
    private LocalDateTime deletedAt;

    @ApiModelProperty(value = "底层推流配置id")
    @TableField("config_id")
    private Integer configId;
}
